/**
 * 登录页面JavaScript功能
 */

// DOM加载完成后执行
document.addEventListener('DOMContentLoaded', function() {
    // 初始化登录表单
    initLoginForm();
});

/**
 * 初始化登录表单
 */
function initLoginForm() {
    const loginForm = document.getElementById('login-form');
    if (!loginForm) return;
    
    // 表单提交事件
    loginForm.addEventListener('submit', async function(e) {
        e.preventDefault();
        
        // 获取表单数据
        const username = document.getElementById('username').value.trim();
        const password = document.getElementById('password').value.trim();
        const remember = document.getElementById('remember').checked;
        
        // 表单验证
        if (!username) {
            window.utils.showNotification('请输入用户名', 'error');
            return;
        }
        
        if (!password) {
            window.utils.showNotification('请输入密码', 'error');
            return;
        }
        
        // 显示加载状态
        const submitBtn = loginForm.querySelector('button[type="submit"]');
        const originalText = submitBtn.textContent;
        submitBtn.disabled = true;
        submitBtn.innerHTML = '<div class="spinner-sm"></div> 登录中...';
        
        try {
            // 调用登录接口
            const result = await window.userService.login(username, password);
            
            // 登录成功
            window.utils.showNotification('登录成功', 'success');
            
            // 如果是管理员，跳转到管理后台
            if (result.user.isAdmin) {
                setTimeout(() => {
                    window.location.href = 'admin/dashboard.html';
                }, 1000);
            } else {
                // 普通用户跳转到首页
                setTimeout(() => {
                    window.location.href = 'index.html';
                }, 1000);
            }
        } catch (error) {
            // 登录失败
            window.utils.showNotification(error.message || '登录失败，请检查用户名和密码', 'error');
            
            // 恢复按钮状态
            submitBtn.disabled = false;
            submitBtn.textContent = originalText;
        }
    });
    
    // 记住我功能
    const rememberedUser = localStorage.getItem('rememberedUser');
    if (rememberedUser) {
        try {
            const userData = JSON.parse(rememberedUser);
            document.getElementById('username').value = userData.username || '';
            document.getElementById('remember').checked = true;
        } catch (e) {
            console.error('解析记住的用户信息失败:', e);
        }
    }
}

/**
 * 添加自定义样式
 */
function addCustomStyles() {
    // 添加登录按钮加载动画样式
    const style = document.createElement('style');
    style.textContent = `
        .spinner-sm {
            display: inline-block;
            width: 16px;
            height: 16px;
            border: 2px solid rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            border-top-color: #fff;
            animation: spin 1s ease-in-out infinite;
            margin-right: 8px;
            vertical-align: middle;
        }
    `;
    document.head.appendChild(style);
}

// 添加自定义样式
addCustomStyles();